<?php
/*********************************************************************\
* This File is a part of BH-PANEL (Breizh-Heberg Panel v2.1)
* Copyright (C) 2008-2009 the BH Developpers : Vincent Giersch <mail@vincordi.fr>, Cyprien Laleau <fanning.fr@gmail.com> and Edwin Cabiten <marmottes44@hotmail.fr>
* See file AUTHORS to get more informations

* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.

* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.

* You should have received a copy of the GNU General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
/*********************************************************************/
define('ROOT', '/etc/bh/');
include ROOT."common.php";
include ROOT."online.inc.php";
$_domgest = new bh_doms_gest();

$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=utf-8\n";
$headers .= "From: Breizh Héberg Bot <robot@breizh-heberg.net>\n";
$headers .= "Reply-To: Support Breizh-Héberg <support@breizh-heberg.net>\n";

query("UPDATE comptes_heberg SET etat = 1 WHERE etat = 2 AND expire > '".date("Y-m-d H:i:s", time())."'");

// --------------------------- Comptes  d'Hébergement
$liste = query("SELECT 
				comptes_heberg.id AS c_id,
				comptes_heberg.*,
				UNIX_TIMESTAMP(comptes_heberg.expire),
				comptes_heberg.bandepassante AS c_bp,
				offre_heberg.*,
				offre_heberg.bandepassante AS o_bp,
				users.u_nic,
				users.u_email,
				offre_surmesure.id_heberg,
				offre_surmesure.bandepassante AS surmes_bp
				FROM comptes_heberg
				LEFT JOIN offre_heberg
				ON comptes_heberg.offre = offre_heberg.id_offre
				LEFT JOIN users
				ON users.u_nic = comptes_heberg.u_nic
				LEFT JOIN offre_surmesure
				ON comptes_heberg.id = offre_surmesure.id_heberg");
While($liste_ = mysql_fetch_array($liste)) {
// ---------------------------------------------------------------------------------------------
//  Mise à jour des status des hébergements
// HEBERGEMENT / COMPTES ACTUELS
// ---------------------------------------------------------------------------------------------

	// ---------------------------------------------------------------------------------------------
	// Avrtissement Renew
	// ---------------------------------------------------------------------------------------------

	if(($liste_['avertir_renew'] == 0) && ($liste_['UNIX_TIMESTAMP(comptes_heberg.expire)'] < (time() + 3600*24*30))) {
		$mail_content = array();
		$mail_content['{title}'] = "Suivit de votre produit \"".$liste_['user_linux']."\"";
		$mail_content['{contenu}'] = "Votre produit \"".$liste_['user_linux']."\" arrive à expiration <strong>dans moins d'un mois</strong>. Si vous voulez le renouvellez vous pouvez le faire dans l'espace client de <a href=\"http://www.breizh-heberg.net\">Breizh Héberg</a>.";
		$mail = str_replace(array_keys($mail_content), array_values($mail_content), file_get_contents(ROOT."tpl/mail-default.html"));
		mail($liste_['u_email'], '[Breizh Héberg] '.$mail_content['{title}'], $mail, $headers); 
		query("UPDATE comptes_heberg SET avertir_renew = 30 WHERE id='".$liste_['c_id']."'");
	}
	if(($liste_['avertir_renew'] == 30) && ($liste_['UNIX_TIMESTAMP(comptes_heberg.expire)'] < (time() + 3600*24*15))) {
		$mail_content = array();
		$mail_content['{title}'] = "Suivit de votre produit \"".$liste_['user_linux']."\"";
		$mail_content['{contenu}'] = "Votre produit \"".$liste_['user_linux']."\" arrive à expiration <strong>dans moins de 15 jours</strong>. Si vous voulez le renouvellez vous pouvez le faire dans l'espace client de <a href=\"http://www.breizh-heberg.net\">Breizh Héberg</a>.";
		$mail = str_replace(array_keys($mail_content), array_values($mail_content), file_get_contents(ROOT."tpl/mail-default.html"));
		mail($liste_['u_email'], '[Breizh Héberg] '.$mail_content['{title}'], $mail, $headers); 
		query("UPDATE comptes_heberg SET avertir_renew = 15 WHERE id='".$liste_['c_id']."'");
	}
	if(($liste_['avertir_renew'] == 15) && ($liste_['UNIX_TIMESTAMP(comptes_heberg.expire)'] < (time() + 3600*24*7))) {
		$mail_content = array();
		$mail_content['{title}'] = "Suivit de votre produit \"".$liste_['user_linux']."\"";
		$mail_content['{contenu}'] = "Votre produit \"".$liste_['user_linux']."\" arrive à expiration <strong>dans moins de 7 jours</strong>. Si vous voulez le renouvellez vous pouvez le faire dans l'espace client de <a href=\"http://www.breizh-heberg.net\">Breizh Héberg</a>.";
		$mail = str_replace(array_keys($mail_content), array_values($mail_content), file_get_contents(ROOT."tpl/mail-default.html"));
		mail($liste_['u_email'], '[Breizh Héberg] '.$mail_content['{title}'], $mail, $headers); 
		query("UPDATE comptes_heberg SET avertir_renew = 7 WHERE id='".$liste_['c_id']."'");
	}
	if(($liste_['avertir_renew'] == 7) && ($liste_['UNIX_TIMESTAMP(comptes_heberg.expire)'] < (time() + 3600*24*2))) {
		$mail_content = array();
		$mail_content['{title}'] = "Suivit de votre produit \"".$liste_['user_linux']."\"";
		$mail_content['{contenu}'] = "Votre produit \"".$liste_['user_linux']."\" arrive à expiration <strong>dans moins de 2 jours</strong>. Si vous voulez le renouvellez vous pouvez le faire dans l'espace client de <a href=\"http://www.breizh-heberg.net\">Breizh Héberg</a>. Dans le cas contraire celui-ci sera suspendu et les données conservées pendants 7 jours, une fois dépassé ce délai les données seront supprimées.";
		$mail = str_replace(array_keys($mail_content), array_values($mail_content), file_get_contents(ROOT."tpl/mail-default.html"));
		mail($liste_['u_email'], '[Breizh Héberg] '.$mail_content['{title}'], $mail, $headers); 
		query("UPDATE comptes_heberg SET avertir_renew = 2 WHERE id='".$liste_['c_id']."'");
	}
	
	// ---------------------------------------------------------------------------------------------
	// Mise en "expiré"
	// ---------------------------------------------------------------------------------------------

	if(($liste_['avertir_renew'] == 2) && ($liste_['UNIX_TIMESTAMP(comptes_heberg.expire)'] < time())) {
		echo $liste_['c_id'];
		query("UPDATE comptes_heberg SET avertir_renew = 1, etat = 2 WHERE id='".$liste_['c_id']."'");
		$mail_content = array();
		$mail_content['{title}'] = "Votre produit \"".$liste_['user_linux']."\" est expiré";
		$mail_content['{contenu}'] = "Votre produit \"".$liste_['user_linux']."\" est arrivé à expiration ce jour. Ce compte d'hébergement a donc été suspendu et l'accès à site est fermé. Pour réactivez votre compte, il suffit de le renouveller dans l'espace client de <a href=\"http://www.breizh-heberg.net\">Breizh Héberg</a>.";
		$mail = str_replace(array_keys($mail_content), array_values($mail_content), file_get_contents(ROOT."tpl/mail-default.html"));
		mail($liste_['u_email'], '[Breizh Héberg] '.$mail_content['{title}'], $mail, $headers); 
		
		query("UPDATE comptes_ftp SET actif = 0 WHERE id_heberg ='".$liste_['c_id']."'");
		query("UPDATE hebergdata_aliasm SEt actif = 0 WHERE id_heberg ='".$liste_['c_id']."'");
		query("UPDATE hebergdata_bal SEt actif = 0 WHERE id_heberg ='".$liste_['c_id']."'");	
	}
	
	// ---------------------------------------------------------------------------------------------
	// Mise à la suppression
	// ---------------------------------------------------------------------------------------------
	if($liste_['etat'] == 2) {
		if(($liste_['UNIX_TIMESTAMP(comptes_heberg.expire)']+3600*24*7) > time()) {
		}
	}

	if(($liste_['etat'] == 2) && (($liste_['UNIX_TIMESTAMP(comptes_heberg.expire)']+3600*24*7) < time())) {
		echo $liste_['UNIX_TIMESTAMP(comptes_heberg.expire)'].' '.(time()+3600*24*7).'\n';
		query("UPDATE comptes_heberg SET avertir_renew = 1, etat = 5 WHERE id='".$liste_['c_id']."'");
		$mail_content = array();
		$mail_content['{title}'] = "Les données de votre produit \"".$liste_['user_linux']."\" ont été supprimées";
		$mail_content['{contenu}'] = "Nous vous avions prévenu il y a une semaine que votre compte d'hébergement était expiré. Il n'est mainetant plus possible de renouveller ce produit, les données liées à ce produit ont été supprimées.";
		$mail = str_replace(array_keys($mail_content), array_values($mail_content), file_get_contents(ROOT."tpl/mail-default.html"));
		mail($liste_['u_email'], '[Breizh Héberg] '.$mail_content['{title}'], $mail, $headers); 
	}
	
	// ---------------------------------------------------------------------------------------------
	// Dépassement bp
	// ---------------------------------------------------------------------------------------------
	if($liste_['offre'] == 3) {
		if(($liste_['c_bp'] > $liste_['surmes_bp']*1024*1024) AND ($liste_['etat'] == 1)) {
			$mail_content = array();
			$mail_content['{title}'] = "Bande Passante dépassée";
			$mail_content['{contenu}'] = "L'accès à votre site a été suspendu car vous avez dépassé la bande passante autorisée. En cas de question, merci d'utiliser notre support.";
			$mail = str_replace(array_keys($mail_content), array_values($mail_content), file_get_contents(ROOT."tpl/mail-default.html"));
			mail($liste_['u_email'], '[Breizh Héberg] '.$mail_content['{title}'], $mail, $headers); 
			query("UPDATE comptes_heberg SET etat = 3 WHERE id='".$liste_['c_id']."'"); 
		}
	
	}
	else {
		if(($liste_['c_bp'] > $liste_['o_bp']*1024*1024) AND ($liste_['etat'] == 1)) {
			$mail_content = array();
			$mail_content['{title}'] = "Bande Passante dépassée";
			$mail_content['{contenu}'] = "L'accès à votre site a été suspendu car vous avez dépassé la bande passante autorisée. En cas de question, merci d'utiliser notre support.";
			$mail = str_replace(array_keys($mail_content), array_values($mail_content), file_get_contents(ROOT."tpl/mail-default.html"));
			mail($liste_['u_email'], '[Breizh Héberg] '.$mail_content['{title}'], $mail, $headers); 
			query("UPDATE comptes_heberg SET etat = 3 WHERE id='".$liste_['c_id']."'"); 
		}
	}
	
	// ---------------------------------------------------------------------------------------------
	//  Suppression des comptes d'hébergement / partie 2 / etat 51
	// HEBERGEMENT
	// ---------------------------------------------------------------------------------------------
	if($liste_['etat'] == 51) {
		query("DELETE FROM comptes_ftp WHERE id_heberg = '".$liste_['c_id']."'");
		$_liste_bdd = query("SELECT * FROM bases_mysql WHERE id_heberg = '".$liste_['c_id']."'");
		deconnexionbdd();	mysql_connect($server[$liste_['serveur_mysql']]['ns'],"root",$server[$liste_['serveur_mysql']]['pass_mysql']);
		While($liste_bdd = mysql_fetch_array($_liste_bdd)) {
			query("DROP DATABASE `".$liste_bdd['nom_base']."`");
		}
		
		query("DROP USER '".$liste_['user_linux']."'");
		deconnexionbdd();	connexionbdd();
		query("DELETE FROM bases_mysql WHERE id_heberg = '".$liste_['c_id']."'");
		query("DELETE FROM hebergdata_aliasm WHERE id_heberg = '".$liste_['c_id']."'");
		query("DELETE FROM hebergdata_bal WHERE id_heberg = '".$liste_['c_id']."'");
		query("DELETE FROM hebergdata_doms WHERE id_heberg = '".$liste_['c_id']."'");
		query("DELETE FROM comptes_heberg WHERE id = '".$liste_['c_id']."'");
	}
	
	// ---------------------------------------------------------------------------------------------
	// Changement d'offre
	// HEBERGEMENT
	// ---------------------------------------------------------------------------------------------
	if($liste_['etat'] == 42) {
		$commande = mysql_fetch_array(query("SELECT * FROM commandes_data WHERE domaine_or_user_linux = '".$liste_['user_linux']."'"));
		query("UPDATE commandes_data SET commande_etat = 2 WHERE id = '".$commande['id']."'");
		query("UPDATE comptes_heberg SET offre = '".$commande['id_produit']."', etat = 43, bandepassante = 0, expire = FROM_UNIXTIME(".(time() + 3600*24*$commande['duree']*30.5).") WHERE id = '".$liste_['c_id']."'");
	}
}
	
	// ---------------------------------------------------------------------------------------------
	//  Création des comptes H- Profil panel + mysql 
	// HEBERGEMENT / NOUVELLES COMMANDES
	// ---------------------------------------------------------------------------------------------
	$liste_commandes_ = query("SELECT commandes_data.*, users.u_email, users.u_nic FROM commandes_data LEFT JOIN users ON commandes_data.u_nic = users.u_nic WHERE commandes_data.type_commande = 1 AND commandes_data.type_produit = 0 AND commandes_data.commande_etat = 1");
	While($commande = mysql_fetch_array($liste_commandes_)) {
		$srv_apache = $bzh_config['server_pay_apache_default'];
		$srv_mysql = $bzh_config['server_pay_mysql_default'];
		if($commande['affiliation'] > 10000) {
			$autorise = mysql_fetch_array(query("SELECT u_affiliation FROM users WHERE u_nic = '".$commande['affiliation']."'"));
			if(($autorise['u_affiliation'] == 1) AND ($bzh_config['affiliation_pc'] > 0) /* AND ($commande['affiliation'] != $commande['u_nic']) */) {
				$montant = $commande['prix_total']*$bzh_config['affiliation_pc']/100;
				echo $montant;
				query("INSERT INTO affiliations_users(p_u_nic, n_u_nic, offre, duree, montant)
						VALUES('".$commande['affiliation']."', '".$commande['u_nic']."', '".$commande['id_produit']."', '".$commande['duree']."', '".$montant."')");

			}		
		}
		
		// création du compte - ajout du record comptes_heberg
		query("INSERT INTO comptes_heberg(u_nic, user_linux, serveur_apache, serveur_mysql, offre, expire, ftp, mysql, etat, avertir_renew)
				VALUES('".$commande['u_nic']."','".$commande['domaine_or_user_linux']."', '".$srv_apache."', '".$srv_mysql."', '".$commande['id_produit']."', FROM_UNIXTIME(".(time() + 3600*24*$commande['duree']*30.5)."), 1, 1, 4, 30)");
		$id_heberg = mysql_fetch_array(query("SELECT id FROM comptes_heberg WHERE user_linux = '".$commande['domaine_or_user_linux']."'"));
		
		if($commande['id_produit'] == 3) {
			$surmes = json_decode($commande['parametre'], true);
			query("INSERT INTO offre_surmesure(id_heberg, espacedisk, bandepassante, bases_mysql, comptes_mails, alias_mails, user_ftp, doms)
				VALUES('".$id_heberg['id']."', '".($surmes['espacedisk']*1024)."', '".($surmes['bandepassante']*1024)."', '".$surmes['bases_mysql']."', '".$surmes['comptes_mails']."', '".$surmes['alias_mails']."', '".$surmes['user_ftp']."', '".$surmes['doms']."')"); 
		}
		
		if($commande['id_produit'] == 2 AND $commande['duree'] == 12) {
			$chaine = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
			$nb_caract = 6;
			$code = "";
			for($u = 1; $u <= $nb_caract; $u++) {
	                    $nb = strlen($chaine);
        	            $nb = mt_rand(0,($nb-1));
                	    $code.=$chaine[$nb];
                	}

			query("UPDATE comptes_heberg SET dom_inclus = 1 WHERE id = '".$id_heberg['id']."'");
			query("INSERT INTO commandes_codes_promos(code, valable_type, valable_parametre, valable_current, type, reduction, type_commande, u_nic, valable_produit)
							VALUES('".$code."', 1, 1, 0, 0, 100, 1, '".$commande['u_nic']."', '".$id_heberg['id']."')");
		}
		

		// password defaut
		$chaine = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
		$nb_caract = 8;
		$pass = "";
		for($u = 1; $u <= $nb_caract; $u++) {
		    $nb = strlen($chaine);
		    $nb = mt_rand(0,($nb-1));
		    $pass.=$chaine[$nb];
		}
		
		// Création du user MYSQL + bdd de base
		deconnexionbdd();	mysql_connect($server[$srv_mysql]['ns'],"root",$server[$srv_mysql]['pass_mysql']);
 		query("CREATE USER '".$commande['domaine_or_user_linux']."'@'%' IDENTIFIED BY '".$pass."'");	
		query("CREATE DATABASE `".$commande['domaine_or_user_linux']."`");
		query("GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , INDEX , ALTER , CREATE VIEW , SHOW VIEW , CREATE ROUTINE, ALTER ROUTINE, EXECUTE, LOCK TABLES ON `".$commande['domaine_or_user_linux']."` . * TO '".$commande['domaine_or_user_linux']."'@'%'");
 		deconnexionbdd();	connexionbdd();
		query("INSERT INTO bases_mysql(id_heberg, nom_base) VALUES('".$id_heberg['id']."', '".$commande['domaine_or_user_linux']."')");
		
		
		// Création compte FTP de base
		query("INSERT INTO comptes_ftp(id_heberg, userid, shell, homedir, serveur, password, actif) VALUES('".$id_heberg['id']."', '".$commande['domaine_or_user_linux']."', '/bin/bash', '/home/".$commande['domaine_or_user_linux']."/', '".$srv_apache."', ENCRYPT('".$pass."'), 0)");
		
		// Mail client
		$mail_content = array();
		$mail_content['{title}'] = "Installation d'un produit";
		$mail_content['{contenu}'] = "Votre produit <strong>".$commande['user_linux']."</strong> sera disponible dans quelques minutes. Voici les premières informations le concernant :<br />
		Une base de donnée va vous être créé ainsi qu'un compte FTP :<br /><br />
		<em>Informations de connexion MySQL</em><br />
		<strong>Serveur MySQL</strong> : ns".$srv_mysql.".breizh-heberg.net<br />
		<strong>Login</strong> : ".$commande['domaine_or_user_linux']."<br />
		<strong>Mot de Passe</strong> : ".$pass."<br />
		<strong>Base créée</strong> : ".$commande['domaine_or_user_linux']."<br /><br />
		<em>Compte FTP par défault</em><br />
		<strong>Serveur FTP</strong> : ftp".$srv_apache.".breizh-heberg.net<br />
		<strong>Login</strong> : ".$commande['domaine_or_user_linux']."<br />
		<strong>Mot de Passe</strong> : ".$pass."<br /><br />";
		$mail = str_replace(array_keys($mail_content), array_values($mail_content), file_get_contents(ROOT."tpl/mail-default.html"));
		mail($commande['u_email'], '[Breizh Héberg] '.$mail_content['{title}'], $mail, $headers); 

		// Changement état commande
		query("UPDATE commandes_data SET commande_etat = 3 WHERE id = '".$commande['id']."'");
	}
	// ---------------------------------------------------------------------------------------------
	//  Changement serveur - Apache - Admin
	// HEBERGEMENT
	// ---------------------------------------------------------------------------------------------
	$_depl = query("SELECT 
					hebergactions_deplcompte.id AS depl_id,
					hebergactions_deplcompte.id_heberg AS id_h,
					hebergactions_deplcompte.server_apache_n,
					hebergactions_deplcompte.server_mysql_n,
					hebergactions_deplcompte.etat,
					comptes_heberg.id,
					comptes_heberg.u_nic,
					comptes_heberg.uid_linux,
					comptes_heberg.user_linux,
					comptes_heberg.serveur_apache,
					comptes_heberg.etat,
					comptes_heberg.offre,
					users.u_nic,
					users.u_email,
					offre_surmesure.id_heberg,
					offre_surmesure.espacedisk AS om_disk,
					offre_heberg.id_offre,
					offre_heberg.espacedisk AS o_disk
					FROM hebergactions_deplcompte 
					LEFT JOIN comptes_heberg
					ON hebergactions_deplcompte.id_heberg = comptes_heberg.id		
					LEFT JOIN users
					ON comptes_heberg.u_nic = users.u_nic
					LEFT JOIN offre_surmesure
					ON comptes_heberg.id = offre_surmesure.id_heberg
					LEFT JOIN offre_heberg
					ON comptes_heberg.offre = offre_heberg.id_offre	
					WHERE 	comptes_heberg.etat = 1
						AND hebergactions_deplcompte.etat = 4
						AND hebergactions_deplcompte.server_mysql_n = 0");
	While($depl = mysql_fetch_array($_depl)) {
		query("UPDATE comptes_ftp SET serveur = '".$depl['server_apache_n']."', uid = '".$depl['uid_linux']."', gid = '".$depl['uid_linux']."' WHERE id_heberg = '".$depl['id_h']."'");
		query("UPDATE comptes_heberg SET serveur_apache = '".$depl['server_apache_n']."' WHERE id = '".$depl['id_h']."'");
		$liste_ndd_ = query("SELECT * FROM hebergdata_doms WHERE id_heberg = '".$depl['id_h']."'");
		While($liste_ndd = mysql_fetch_array($liste_ndd_)) {
			if($liste_ndd['id_dom_bh'] != '') {
				$dom_ach_ = query("SELECT * FROM zones_dns WHERE id_domain = '".$liste_ndd['id_dom_bh']."'");
				While($dom_ach = mysql_fetch_array($dom_ach_)) {
					query("UPDATE zones_dns_content SET value = '".$server[$depl['server_apache_n']]['ip']."' WHERE id_zone = '".$dom_ach['id']."' AND lie_heberg = 1");
				}
				query("UPDATE zones_dns SET etat = 3 WHERE id_domain = '".$liste_ndd['id_dom_bh']."'");
			}
		}
		query("UPDATE hebergdata_doms SET etat = 3 WHERE id_heberg = '".$depl['id_h']."'");
		query("UPDATE hebergactions_deplcompte SET etat = 2 WHERE id = '".$depl['depl_id']."'");
		// mail Info
		$mail_content = array();
		$mail_content['{title}'] = "Apache - Changement de serveur de votre compte";
		$mail_content['{contenu}'] = "Bonjour,<br />
		Votre compte a été déplacé avec succès sur le serveur <strong>".$server[$depl['server_apache_n']]['ns']."</strong>. Voici les étapes à effectuer pour finaliser le transfert :<br />
		<ul>
			<li>Modifiez les domaines par IP et les A-records en indiquant l'ip : <strong>".$server[$depl['server_apache_n']]['ip']."</strong>,</li>
			<li>Modifier les enregistrements de vos noms de domaines achetés sur BH si vous en avez, car seuls les entrées \"@\", \"www\" et MX @ ont été changés,</li>
			<li>Pensez à vous connecter au bon serveur FTP qui est <strong>ftp".$depl['server_apache_n'].".breizh-heberg.net</strong> (vous gardez les mêms identifiants.</li>
		</ul>
		Pour toute information relatife à ce transfert, n'hésitez ps à contacter notre support.<br />
		Nous vous remercions de votre confiance,";
		$mail = str_replace(array_keys($mail_content), array_values($mail_content), file_get_contents(ROOT."tpl/mail-default.html"));
		mail($depl['u_email'], '[Breizh Héberg] '.$mail_content['{title}'], $mail, $headers); 
		query("UPDATE hebergactions_deplcompte SET etat = 2 WHERE id = '".$depl['depl_id']."'");
	}
	
	// ---------------------------------------------------------------------------------------------
	//  Changement serveur - MySQL - Admin
	// HEBERGEMENT
	// ---------------------------------------------------------------------------------------------
	$_depl = query("SELECT 
					hebergactions_deplcompte.id AS depl_id,
					hebergactions_deplcompte.id_heberg AS id_h,
					hebergactions_deplcompte.server_apache_n,
					hebergactions_deplcompte.server_mysql_n,
					hebergactions_deplcompte.etat,
					comptes_heberg.id,
					comptes_heberg.u_nic,
					comptes_heberg.uid_linux,
					comptes_heberg.user_linux,
					comptes_heberg.serveur_mysql,
					comptes_heberg.etat,
					comptes_heberg.offre,
					users.u_nic,
					users.u_email
					FROM hebergactions_deplcompte 
					LEFT JOIN comptes_heberg
					ON hebergactions_deplcompte.id_heberg = comptes_heberg.id		
					LEFT JOIN users
					ON comptes_heberg.u_nic = users.u_nic
					WHERE comptes_heberg.etat = 1
						AND hebergactions_deplcompte.etat = 1
						AND hebergactions_deplcompte.server_apache_n = 0");
	While($depl = mysql_fetch_array($_depl)) {
		$liste_bdd = query("SELECT * FROM bases_mysql WHERE id_heberg = '".$depl['id_h']."'");
		$chaine = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
		$nb_caract = 8;
		$pass = "";
		for($u = 1; $u <= $nb_caract; $u++) {
		    $nb = strlen($chaine);
		    $nb = mt_rand(0,($nb-1));
		    $pass.=$chaine[$nb];
		}
		$baselist = '';
		While($bdd = mysql_fetch_array($liste_bdd)) {
				$baselist = $baselist." ".$bdd['nom_base'];		
		}
		$nfile = 'backup_'.date('d-m-y_h-m', time()).'-'.$depl['id_h'].'-'.sha1(time()).sha1($depl['id_h']).'.sql';
		@unlink($nfile);
		$backfile = fopen(ROOT.'tmp/sql/'.$nfile, "a+");
		fputs($backfile,shell_exec("mysqldump -h ".$server[$depl['serveur_mysql']]['ns']." -u root -p".$server[$depl['serveur_mysql']]['pass_mysql']." --databases ".$baselist));
 		$liste_bdd = query("SELECT * FROM bases_mysql WHERE id_heberg = '".$depl['id_h']."'");
		deconnexionbdd();	mysql_connect($server[$depl['server_mysql_n']]['ns'],"root",$server[$depl['server_mysql_n']]['pass_mysql']);
 	 	query("CREATE USER '".$depl['user_linux']."'@'%' IDENTIFIED BY '".$pass."'");	
		shell_exec("mysql -h ".$server[$depl['server_mysql_n']]['ns']." -u root -p".$server[$depl['server_mysql_n']]['pass_mysql']." < ".ROOT."tmp/sql/".$nfile);
 		
		While($bdd = mysql_fetch_array($liste_bdd)) {
			
			query("GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , INDEX , ALTER , CREATE VIEW , SHOW VIEW , CREATE ROUTINE, ALTER ROUTINE, EXECUTE, LOCK TABLES ON `".$bdd['nom_base']."` . * TO '".$depl['user_linux']."'@'%'");
			print_r($bdd);
			echo $bdd['nom_base'].$depl['user_linux']."\n";
		}
		query("FLUSH PRIVILEGES");
		deconnexionbdd(); connexionbdd();
		$liste_bdd = query("SELECT * FROM bases_mysql WHERE id_heberg = '".$depl['id_h']."'");

		// mail Info
		$mail_content = array();
		$mail_content['{title}'] = "MySQL - Changement de serveur de votre compte";
		$mail_content['{contenu}'] = "Bonjour,<br />
		Votre compte a été déplacé avec succès sur le serveur MySQL <strong>".$server[$depl['server_mysql_n']]['ns']."</strong>. Voici les étapes à effectuer pour finaliser le transfert de votre site correctement:<br />
		<ul>
			<li>Par question de sécurité, nous avons changé votre mot de passe. Voici vos nouveaux identifiants pour le serveur MySQL :
				<ul>
					<li><em>Serveur</em> : ".$server[$depl['server_mysql_n']]['ns']."</li>
					<li><em>Login</em> : ".$depl['user_linux']."</li>
					<li><em>Mot de Passe</em> : ".$pass."</li>
				</ul>
			</li>
			<li>Modifiez les informations de connexion dans vos scripts</li>
			<li>Nous vous rappelons que vous pouvez changer votre mot de passe MySQL dans le panel de BH.</li>
		</ul>
		Pour toute information relatife à ce transfert, n'hésitez ps à contacter notre support.<br />
		Nous vous remercions de votre confiance,";
		$mail = str_replace(array_keys($mail_content), array_values($mail_content), file_get_contents(ROOT."tpl/mail-default.html"));
		mail($depl['u_email'], '[Breizh Héberg] '.$mail_content['{title}'], $mail, $headers);
		query("UPDATE hebergactions_deplcompte SET etat = 2 WHERE id = '".$depl['depl_id']."'");
		query("UPDATE comptes_heberg SET serveur_mysql = '".$depl['server_mysql_n']."' WHERE id = '".$depl['id_h']."'");
		
		deconnexionbdd();  mysql_connect($server[$depl['serveur_mysql']]['ns'],"root",$server[$depl['serveur_mysql']]['pass_mysql']);
		While($bdd = mysql_fetch_array($liste_bdd)) {
			query("DROP DATABASE `".$bdd['nom_base']."`");
		} 

		deconnexionbdd();	connexionbdd();
	}
	
	
	
	// ---------------------------------------------------------------------------------------------
	// Création des ndd
	// DOMAINES / NOUVELLES COMMANDES
	// ---------------------------------------------------------------------------------------------
	// Creation de la zone DNS
	// ---------------------------------------------------------------------------------------------
	$_nc_doms = query("SELECT
						commandes_data.id AS c_id,
						commandes_data.type_produit,
						commandes_data.u_nic,
						commandes_data.type_commande,
						commandes_data.domaine_or_user_linux,
						commandes_data.commande_etat,
						commandes_data.naissance,
						commandes_data.naissance_pays,
						commandes_data.naissance_ville,
						commandes_data.naissance_cp,
						users.*
						FROM commandes_data
						LEFT JOIN users
						ON commandes_data.u_nic = users.u_nic
						WHERE commandes_data.commande_etat = 1 
						AND commandes_data.type_produit = 1 
						AND commandes_data.type_commande = 1");
	While($nc_doms = mysql_fetch_array($_nc_doms)) {
		if($nc_doms['u_tel'] != "") {
			query("INSERT INTO comptes_domain(u_nic, domaine, locked, etat, id_registrar, tid) VALUES('".$nc_doms['u_nic']."', '".$nc_doms['domaine_or_user_linux']."', 1, 4, '".$bzh_config['default_registrar']."', '".$nc_doms['tid']."')");
			query("UPDATE commandes_data set commande_etat = 9 WHERE domaine_or_user_linux  = '".$nc_doms['domaine_or_user_linux']."'");
			// Create zone DNS
			$zd = mysql_fetch_array(query("SELECT id FROM comptes_domain WHERE domaine = '".$nc_doms['domaine_or_user_linux']."'"));
			query("INSERT INTO zones_dns(id_domain, etat) VALUES('".$zd['id']."', 3)");
			$id_zone = mysql_fetch_array(query("SELECT * FROM zones_dns WHERE id_domain = '".$zd['id']."'"));
			query("UPDATE comptes_domain SET zone_dns = '".$id_zone['id']."' WHERE domaine = '".$nc_doms['domaine_or_user_linux']."'");
		}
	}
	
	// ---------------------------------------------------------------------------------------------
	// Lancement création
	// ---------------------------------------------------------------------------------------------
	
	$_nc_doms = query("SELECT
						commandes_data.id AS c_id,
						commandes_data.type_produit,
						commandes_data.u_nic,
						commandes_data.type_commande,
						commandes_data.domaine_or_user_linux,
						commandes_data.commande_etat,
						commandes_data.naissance,
						commandes_data.naissance_pays,
						commandes_data.naissance_ville,
						commandes_data.naissance_cp,
						commandes_data.prix_total,
						commandes_data.affiliation,
						users.*,
						UNIX_TIMESTAMP(users.u_naissance)
						FROM commandes_data
						LEFT JOIN users
						ON commandes_data.u_nic = users.u_nic
						WHERE commandes_data.commande_etat = 9");
	While($nc_doms = mysql_fetch_array($_nc_doms)) {
		if($nc_doms['reg_contact_id'] == 0) {
			if($nc_doms['UNIX_TIMESTAMP(users.u_naissance)'] > time()*3600*24*365*18) {
				$nc_doms['UNIX_TIMESTAMP(users.u_naissance)'] = 0;
			}
			$return_contact = $_domgest->contact_create($nc_doms);
			print_r($return_contact);
			query("UPDATE users SET reg_contact_id = '".$return_contact['reg_contact_id']."', reg_nic = '".$return_contact['reg_nic']."', reg_pass = '".$return_contact['reg_pass']."' WHERE u_nic = '".$nc_doms['u_nic']."'");
			$nc_doms['reg_contact_id'] = $return_contact['reg_contact_id'];
			$nc_doms['reg_nic'] = $return_contact['reg_nic'];
			$nc_doms['reg_pass'] = $return_contact['reg_pass'];
		}
		elseif($nc_doms['reg_update'] == 1) {
			$return_contact = $_domgest->contact_update($nc_doms);
			query("UPDATE users SET reg_update = 0 WHERE u_nic = '".$nc_doms['u_nic']."'");
		}
		
		$return_c_dom = $_domgest->dom_create($nc_doms['domaine_or_user_linux'],$nc_doms['reg_contact_id']);
		if($return_c_dom['etat'] == 1) {
			query("UPDATE comptes_domain SET etat = 1, id_registrar = '".$bzh_config['default_registrar']."' WHERE domaine = '".$nc_doms['domaine_or_user_linux']."'");
			if(($nc_doms['affiliation'] != "") AND ($nc_doms['affiliation'] < 10000) AND ($nc_doms['prix_total'] == "6.80")) {
				$af = mysql_fetch_array(query("SELECT * FROM affiliation_others WHERE id = '".intval($nc_doms['affiliation'])."'"));
				if(($af['type_offre'] == 0) OR ($af['type_offre'] == 2)) {
					if($af['type_revrsement'] == 1) {
						query("UPDATE affiliation_others SET total_revers = total_revers + ".$af['reversement']."'");					
					}				
				}
			}
			
			query("UPDATE commandes_data set commande_etat = 2 WHERE domaine_or_user_linux  = '".$nc_doms['domaine_or_user_linux']."'");
			$mail_content = array();
			$mail_content['{title}'] = "Nom de domaine ".$nc_doms['domaine_or_user_linux'];
			$mail_content['{contenu}'] = "Votre domaine ".$nc_doms['domaine_or_user_linux']." a été validé. Il est maintenant en cours de création.";
			$mail = str_replace(array_keys($mail_content), array_values($mail_content), file_get_contents(ROOT."tpl/mail-default.html"));
			mail($nc_doms['u_email'], '[Breizh Héberg] '.$mail_content['{title}'], $mail, $headers); 
		}
	}
	
	// ---------------------------------------------------------------------------------------------
	// vérification état
	// ---------------------------------------------------------------------------------------------
	$_nc_doms = query("SELECT * FROM comptes_domain	WHERE etat = 4");
	While($nc_doms = mysql_fetch_array($_nc_doms)) {
		$state = $_domgest->state($nc_doms['tid']);
		query("UPDATE comptes_domain SET etat = '".$state."' WHERE id = '".$nc_doms['id']."'");	
		echo $state ;
		if($state == 1) {
			$dom_info = $_domgest->dominfos($nc_doms['domaine']);
			query("UPDATE comptes_domain SET `create` = '".$dom_info['create']."', `expire` = '".$dom_info['expire']."', authinfo = '".$dom_info['authinfo']."' WHERE domaine = '".$nc_doms['domaine']."'");
			// Protege
			
		}
	}
	
	// ---------------------------------------------------------------------------------------------
	// Mise à jour
	// DOMAINES
	// ---------------------------------------------------------------------------------------------
	// MAJ des dns
	// ---------------------------------------------------------------------------------------------
	$dns_change = query("SELECT * FROM comptes_domain WHERE etat = 7");
	While($domaines = mysql_fetch_array($dns_change)) {
		print_r($domaines);
		$state = $_domgest->state($domaines['tid']);
		if($state == "1") {
			query("UPDATE comptes_domain SET etat = 1, tid = 0 WHERE id = '".$domaines['id']."'");
		}
	}
	// ---------------------------------------------------------------------------------------------
	// MAJ  protect
	// ---------------------------------------------------------------------------------------------
	$_protect = query("SELECT * FROM comptes_domain WHERE etat = 3");
	While($protect = mysql_fetch_array($_protect)) {
		$state = $_domgest->state($protect['tid']);
		echo $state;
		if($state == 1) {
			query("UPDATE comptes_domain SET etat = 1, tid = 0 WHERE id = '".$protect['id']."'");
		}
	}
	
deconnexionbdd();
?>
